package it.unipg.bipod.dataModel;

/**
 * Docente mappa un'entita' "docente" di BiPoD.<br>
 * Le sue proprieta' rispecchiano 1-1 i campi dell'entia' corrispondente.
 * 
 * @author Lorenzo Porzi
 * @see Utente
 */
public class Docente extends Utente {
	private String ssd;
	private String qualifica;
	
	/**
	 * Costruisce un nuovo docente "vuoto".
	 */
	public Docente() {
		this("", "", "", "", "", "", "");
	}
	
	/**
	 * Costruisce un docente con le proprieta' specificate.
	 * 
	 * @param nomeUtente
	 * @param email
	 * @param nome
	 * @param cognome
	 * @param password
	 * @param ssd
	 * @param qualifica
	 */
	public Docente(String nomeUtente, String email, String nome,
			String cognome, String password, String ssd, String qualifica) {
		super(nomeUtente, email, nome, cognome, password);
		setSsd(ssd);
		setQualifica(qualifica);
	}
	
	/* -----------------
	 * Setters e Getters
	 * ----------------- */

	public void setSsd(String ssd) {
		this.ssd = ssd;
	}
	
	public String getSsd() {
		return ssd;
	}

	public void setQualifica(String qualifica) {
		this.qualifica = qualifica;
	}

	public String getQualifica() {
		return qualifica;
	}
	
	/* ------------
	 * Altri metodi
	 * ------------ */

	@Override
	public String toString() {
		return "Docente [qualifica=" + qualifica + ", ssd=" + ssd
				+ ", getNomeUtente()=" + getNomeUtente() + ", getNome()="
				+ getNome() + ", getCognome()=" + getCognome()
				+ ", getEmail()=" + getEmail() + ", getPassword()="
				+ getPassword() + "]";
	}
	
	@Override
	public boolean equals(Object docente) {
		if (docente instanceof Docente)
			return getNomeUtente().equals(((Docente)docente).getNomeUtente());
		
		return false;
	}
}
